package com.ar.webSimple.servicios;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;

import org.springframework.context.ApplicationContext;

import com.ar.webSimple.dao.ProductoDao;
import com.ar.webSimple.entity.Producto;
import com.ar.webSimple.myContext.MyContext;
import com.ar.webSimple.utils.Constantes;

@ManagedBean(name="serviProd")
public class ProductoService implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 2632125283847165541L;
	private ApplicationContext context;
	private ProductoDao productoDao;
	
	
	public void init(){
		context = MyContext.getApplicationContext();
		productoDao = (ProductoDao) context.getBean("productoDao");
	}
	
	public Producto newProducto(){
		Producto producto = new Producto();
		producto.setActivo(Constantes.activar);
		return producto;
	}
	
	public List<Producto> obtenerProductos(){
		return productoDao.findAll();
	
	}
	
	public void agregarProducto(Producto producto){
		productoDao.persist(producto);
	}
	
	
	public void editarProducto(Producto productoEdit){
		Producto producto = productoDao.searchById(productoEdit.getId());
		producto.setNombre(productoEdit.getNombre());
		producto.setDescripcion(productoEdit.getDescripcion());
		producto.setStock(productoEdit.getStock());
		producto.setPrecio(productoEdit.getPrecio());
		productoDao.persist(producto);
	}
	
	public void eliminarProducto(Producto producto){
		productoDao.delete(producto);
	}
	
}
